<?php

namespace colciencias\Bundle\WebBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Evaluadores
 *
 * @ORM\Table(name="EVALUADORES", uniqueConstraints={@ORM\UniqueConstraint(name="evaluadores__un", columns={"PERSONA_ID"})}, indexes={@ORM\Index(name="IDX_4F0DA4326B37A0", columns={"GRUPOS_ID"})})
 * @ORM\Entity
 */
class Evaluadores
{
    /**
     * @var string
     *
     * @ORM\Column(name="AREAENFOQUE", type="string", length=50, nullable=true)
     */
    private $areaenfoque;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="FECHA_FINAL", type="datetime", nullable=false)
     */
    private $fechaFinal;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="FECHA_INICIAL", type="datetime", nullable=false)
     */
    private $fechaInicial;

    /**
     * @var string
     *
     * @ORM\Column(name="NIVELFORMACION", type="string", length=50, nullable=true)
     */
    private $nivelformacion;

    /**
     * @var string
     *
     * @ORM\Column(name="ORGANIZACION", type="string", length=50, nullable=true)
     */
    private $organizacion;

    /**
     * @var integer
     *
     * @ORM\Column(name="ID", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="SEQUENCE")
     * @ORM\SequenceGenerator(sequenceName="EVALUADORES_ID_seq", allocationSize=1, initialValue=1)
     */
    private $id;

    /**
     * @var \colciencias\Bundle\WebBundle\Entity\Grupos
     *
     * @ORM\ManyToOne(targetEntity="colciencias\Bundle\WebBundle\Entity\Grupos")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="GRUPOS_ID", referencedColumnName="ID")
     * })
     */
    private $grupos;

    /**
     * @var \colciencias\Bundle\WebBundle\Entity\Persona
     *
     * @ORM\ManyToOne(targetEntity="colciencias\Bundle\WebBundle\Entity\Persona")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="PERSONA_ID", referencedColumnName="ID")
     * })
     */
    private $persona;

    /**
     * @var \Doctrine\Common\Collections\Collection
     *
     * @ORM\ManyToMany(targetEntity="colciencias\Bundle\WebBundle\Entity\Areasconocimiento", mappedBy="evaluadores")
     */
    private $areasconocimiento;

    /**
     * Constructor
     */
    public function __construct()
    {
        $this->areasconocimiento = new \Doctrine\Common\Collections\ArrayCollection();
    }


    /**
     * Set areaenfoque
     *
     * @param string $areaenfoque
     * @return Evaluadores
     */
    public function setAreaenfoque($areaenfoque)
    {
        $this->areaenfoque = $areaenfoque;

        return $this;
    }

    /**
     * Get areaenfoque
     *
     * @return string 
     */
    public function getAreaenfoque()
    {
        return $this->areaenfoque;
    }

    /**
     * Set fechaFinal
     *
     * @param \DateTime $fechaFinal
     * @return Evaluadores
     */
    public function setFechaFinal($fechaFinal)
    {
        $this->fechaFinal = $fechaFinal;

        return $this;
    }

    /**
     * Get fechaFinal
     *
     * @return \DateTime 
     */
    public function getFechaFinal()
    {
        return $this->fechaFinal;
    }

    /**
     * Set fechaInicial
     *
     * @param \DateTime $fechaInicial
     * @return Evaluadores
     */
    public function setFechaInicial($fechaInicial)
    {
        $this->fechaInicial = $fechaInicial;

        return $this;
    }

    /**
     * Get fechaInicial
     *
     * @return \DateTime 
     */
    public function getFechaInicial()
    {
        return $this->fechaInicial;
    }

    /**
     * Set nivelformacion
     *
     * @param string $nivelformacion
     * @return Evaluadores
     */
    public function setNivelformacion($nivelformacion)
    {
        $this->nivelformacion = $nivelformacion;

        return $this;
    }

    /**
     * Get nivelformacion
     *
     * @return string 
     */
    public function getNivelformacion()
    {
        return $this->nivelformacion;
    }

    /**
     * Set organizacion
     *
     * @param string $organizacion
     * @return Evaluadores
     */
    public function setOrganizacion($organizacion)
    {
        $this->organizacion = $organizacion;

        return $this;
    }

    /**
     * Get organizacion
     *
     * @return string 
     */
    public function getOrganizacion()
    {
        return $this->organizacion;
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set grupos
     *
     * @param \colciencias\Bundle\WebBundle\Entity\Grupos $grupos
     * @return Evaluadores
     */
    public function setGrupos(\colciencias\Bundle\WebBundle\Entity\Grupos $grupos = null)
    {
        $this->grupos = $grupos;

        return $this;
    }

    /**
     * Get grupos
     *
     * @return \colciencias\Bundle\WebBundle\Entity\Grupos 
     */
    public function getGrupos()
    {
        return $this->grupos;
    }

    /**
     * Set persona
     *
     * @param \colciencias\Bundle\WebBundle\Entity\Persona $persona
     * @return Evaluadores
     */
    public function setPersona(\colciencias\Bundle\WebBundle\Entity\Persona $persona = null)
    {
        $this->persona = $persona;

        return $this;
    }

    /**
     * Get persona
     *
     * @return \colciencias\Bundle\WebBundle\Entity\Persona 
     */
    public function getPersona()
    {
        return $this->persona;
    }

    /**
     * Add areasconocimiento
     *
     * @param \colciencias\Bundle\WebBundle\Entity\Areasconocimiento $areasconocimiento
     * @return Evaluadores
     */
    public function addAreasconocimiento(\colciencias\Bundle\WebBundle\Entity\Areasconocimiento $areasconocimiento)
    {
        $this->areasconocimiento[] = $areasconocimiento;

        return $this;
    }

    /**
     * Remove areasconocimiento
     *
     * @param \colciencias\Bundle\WebBundle\Entity\Areasconocimiento $areasconocimiento
     */
    public function removeAreasconocimiento(\colciencias\Bundle\WebBundle\Entity\Areasconocimiento $areasconocimiento)
    {
        $this->areasconocimiento->removeElement($areasconocimiento);
    }

    /**
     * Get areasconocimiento
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getAreasconocimiento()
    {
        return $this->areasconocimiento;
    }
}
